
from qiniu import Auth, put_file, etag, put_data
import qiniu.config


# 需要填写你的 Access Key 和 Secret Key
access_key = 'vVd6e-aDMrbFhDf2P6M0nZZ9VzxyUqSbsM2jM4at'
secret_key = 'JdamgrAmzvbCj5Ce3xFDw4HW3LwO107aN1yR7jbN'


def image_storage(image_data):
    # 构建鉴权对象
    q = Auth(access_key, secret_key)

    # 要上传的空间
    bucket_name = 'info36'

    # 上传到七牛后保存的文件名,如果不指定,名字会由七牛帮咱们维护
    key = None  # 不指定名字的话要取消断言哦

    # 生成上传 Token，可以指定过期时间等
    token = q.upload_token(bucket_name, key, 3600)

    # 要上传文件的本地路径
    localfile = './Shinyruo.jpg'

    # ret, api = put_file(token, key, localfile)
    ret, info = put_data(token, key, image_data)
    # print(api)
    # assert ret['key'] == key
    # assert ret['hash'] == etag(localfile)
    # 处理上传的结果
    if info.status_code == 200:
        print(info)
        print(ret)
        # 上传成功则返回图片的名字,代表上传成功了哦
        return ret.get("key")
    else:
        return None
if __name__ == '__main__':
    with open("./Shinyruo.jpg", "rb") as f:
        image_storage(f.read())
